﻿Public Class KOEdward
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "EDWARD"
        Armee = Armeen.TI.ToString
        Musik = "Edward"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 6
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        NachBauZiehen = False
        Teurungsrate = 1
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        NachBauZiehen = True
        Teurungsrate = 0.8
        If OhneFunktion = False Then
            BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
        End If
        GabeEingesetzt()
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Return Nothing
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(1, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.TownDamage))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectGetHalfIncome())
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            NachBauZiehen = True
            Teurungsrate = 0.8
            If OhneFunktion = False Then
                BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
                Stadtschaden(1)
                GetHalfIncome()
            End If
            Teurungsrate = 0.8
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungEdward
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Edward"
        Fein = "Geschaefte"
        Nein = "Green Earth"
        Beschreibung = New String() {"Ein ehemaliger Schmuggler", "aus Green Earth", ",der des Landes verlassen musste."}
        Stil = New String() {"Er hat keine besonderen,", "Faehigkeiten. Alle Truppen", "sind gleich stark."}
        Gabebeschreibung = New String() {"Einheiten die gebaut werden", "koennen sofort ziehen", "und sind billiger."}
        SpezialgabeBeschreibung = New String() {"Stiehlt die haelfte des", "feindlichen Einkommens.", "Gegnerische Einheiten auf Gebaeuden erleiden", "1 TP Schaden.", "Seine Truppen kosten weniger."}
        GabeKosten = 4
        Spezialgabekosten = 2
        Gaben = New String() {"Schmuggler Ware", "Abgezweigte Gelder"}
        Synergie = New Decimal() {1, 1, -1.5#, -2, -1, 0.5#, 0.5#}
        KONamen = New String() {"COLIN", "VARLOT", "EAGLE", "HACHI", "MINAMOTO", "MARY", "CARMEN"}
        Doppelgabenamen = New String() {"Geschaeftsschule", "Schwarzmarkt", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Eure Niederlage sollte bald bestaettigt werden." _
                                , "Bezahle." _
                                , "Spezial Lieferung." _
                                , "Sei brav. Es ist gleich vorbei." _
                                , "Zeig mir dein Geld." _
                                , "Ich liebe schnelles Geld."}
        Siegsaetze = New String() {"Hier ist der Beleg fuer deine Niederlage. Verlier ihn nicht." _
                                , "Angebot und Nachfrage haben deine Niederlage bestimmt. Ich habe beides diktiert." _
                                , "Willst du was bestellen? Ich habe aber keinen Sieg im Angebot."}
        Tauschsaetze = New String() {"Zeit fuer Geld." _
                                    , "Alles bereit zum gehen."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("EDWARD", "VARLOT", "Ich habe da ein paar Waren.", "Immer her damit man kann alles verkaufen.") _
                                              , New DoppelGabesatz("VARLOT", "EDWARD", "Ich brauche, da noch etwas", "Kein Problem im naechtlichen Nebel ist es unterwegs.") _
                                              , New DoppelGabesatz("EDWARD", "COLIN", "Geschaeft ist Geschaeft.", "Aber wirklich um jeden Preis?") _
                                              , New DoppelGabesatz("COLIN", "EDWARD", "Edward warum verkaufst du andauernd Schmuggelware?", "Angebot und Nachfrage biete was der Markt begehrt!")}
        Niederlagesaetze = New String() {"Da habe ich wohl das falsche geschmuggelt", _
                                     "Das ist nur passiert, weil es keine Haefen zum schmuggeln gab."}
    End Sub
End Class
